﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Core.LockStep
{
    public static class LockStepTool
    {
        internal static ILockStepHelper helper;

        public static float Interpolation => helper.Interpolation;

        public static IDataEnumerable<T> GetStepDatas<T>() where T : IStepData
        {
            return helper.GetStepDatas<T>();
        }

        public static T CreateBackupData<T>(int instanceId) where T : IBackupData, new()
        {
            return helper.CreateBackupData<T>(instanceId);
        }

        public static IDataEnumerable<T> GetBackupDatas<T>() where T : IBackupData
        {
            return helper.GetBackupDatas<T>();
        }

        public static T GetBackupData<T>(int backupId) where T : IBackupData
        {
            return helper.GetBackupData<T>(backupId);
        }
    }
}